Referring generally to information handling systems, they normally have as their main component a central processing unit (CPU), which directs all communications in the system and orchestrates all commands to be executed by the information handling system. Information handling systems also usually have a network, or networks, of physical connection devices called buses. These networks connect the CPU to any number of peripheral devices so that the CPU can communicate with the peripheral devices.
One type of bus that may be used in information handling systems is a multiplexed bus. Multiplexed buses have different signals, each containing different information, operating on the same communication line. For instance, a multiplexed bus may have information indicating a particular register address, and data information to be read from or written to that register address, multiplexed on the same communication line. In contrast, a non-multiplexed or parallel bus would have two separate communication lines, one for the address information and one for data.
A multiplexed bus has an advantage over a parallel bus in that a multiplexed bus requires far less space in the information handling system than a parallel bus. Since each of its communication lines can carry more than one signal, a multiplexed bus requires approximately one half the amount of communication lines required by a parallel bus. Furthermore, the peripheral devices that are compatible with a multiplexed bus only require approximately one half the connection points to the bus, or pins, that are required by peripheral devices that are compatible with parallel buses. Thus, the overall size of a multiplexed bus is smaller than a parallel bus, and peripheral devices used with a multiplex bus are smaller than the devices used with a parallel bus as well. Accordingly, these smaller hardware devices require less space in the overall information handling system than a system using parallel buses. Because space is always at a premium in such systems, the multiplexed bus provides an advantage over the parallel bus.
The use of multiplexed buses in an information handling system, however, creates another problem contention for the use of the bus by the components of the system. The components of an information handling system are the CPU, the peripheral devices and any other hardware device that can transmit information on or receive information from the buses in the system. Only one component in the system can transmit information on any one communication line of a particular bus at any one time. In fact, if one component attempts to transmit information on a communication line while it is being used by another component, electrical damage to the information handling system will occur. Accordingly, because there are fewer lines on a multiplexed bus, and each of these lines is carrying more than one signal, the components of the information handling system are constantly contending with one and other to gain control of the communication lines of the bus. This contention creates a que of components waiting to use various communication lines, which, in turn, decreases the speed at which data is transferred in the information handling system.
Furthermore, when one component stops transmitting information on a communication line, before that communication line can be used by another component, the communication line must go through a down period called a turnaround cycle. During a turnaround cycle, the communication line pauses and refuses to accept any new information from any component. The bus is essentially non-operational during a turnaround cycle. Turnaround cycles are required on multiplexed buses to ensure that two devices do not transmit information on the bus at once causing electrical damage as described above. Turnaround cycles further decrease the speed of multiplexed buses.
Decreased speed is a disadvantage of multiplexed buses. Accordingly, it is desirable to implement various techniques to increase the speed of data transfers on multiplexed buses.
One technique that can be used to increase the speed of multiplexed buses is to eliminate the turnaround cycles for certain data transfers so that the data transfers can be performed "back-to-back". Accordingly, a method and apparatus is needed that eliminates certain turnaround cycles, and thus, provides back-to-back data transfers.